package org.OpenGeoPortal.SiteCustomizable;

/**
 * This interface provides access to the admin status of the user
 * 
 * Does a user have more then one role?  Do we need to grant fine-grained permissions
 * (e.g., perform ingest, manage user permissions, etc.) or do we just have a couple
 * roles.  The roles form a simple hierarchy and we only have a few: user, student lab tech 
 * and admin.
 * @author stevemcdonald
 *
 */
public interface UserAuthorization 
{
	public enum Role {User, LabTech, Admin};

	/**
	 * is the passed user an application administrator
	 * @param username the username that is typically stored in an environment variable
	 * @return
	 */
	public boolean isAdmin(String username);
	
	public Role getRole(String username);
}
